In recent years, both the number and variety of electronic devices and appliances in use have increased dramatically. Lighting systems, personal computers (PCs), video tape recorders, compact disc (CD) players, stereo receivers, and televisions are but a few of the most common devices found n both residential and commercial settings. Even appliances which rely on non-electric power sources, such as gas burning furnaces, are usually controlled electronically.
Reflecting the variety of devices now available, many different systems and devices are used to provide more centralized or automated control of the appliances found in the home and the office. These can be as simple as a remote-control entertainment system comprising a CD player, stereo and television, or as complex as a building environmental control system for regulating HVAC and security functions.
A central feature of any automation system is the interface by which the user interacts with the automation system. User interfaces permit one to program future operation or to control different devices from a centralized location. Reflecting the variety of appliances or devices that are to be controlled, user interfaces may range widely in complexity. In some settings, a more complicated interface is necessary to provide the broad range of functionality required. For example, a building control center may be sufficiently complicated to require training for the operator. On the other hand, in many environments, particular residential settings, it is essential that interfaces be easy to use and understand so that the entire range of functionality may be utilized.
Unfortunately, the standard approach now commonly used is for each device or system in a given environment to be controlled according to a particular methodology which might differ dramatically from other systems. For example, a home might include a security system, an entertainment system, an environmental control system, and so forth, each with its own unique interface. Thus, a user may be required to set a thermostat in a first manner, program a VTR in a different manner, and program the security system in yet a different manner. By requiring the user to learn several methods of operating each system or set of devices in the environment, it is more difficult for the user to become familiar with the various systems and to take full advantage of all their features.
Another drawback associated with this standard approach is that the use of different interfaces may result in an increase in the amount of space taken up in the setting. For example, two or more different keypad controllers may be mounted on a wall to separately control individual systems. As a result, there may be a decrease in available wall space and a negative impact on the aesthetic quality of the setting.
Some automation systems attempt to address these limitations through the use of menu driven interfaces which are connected to a single, dedicated control processor. With such a system, a user may control various systems, such as lighting, HVAC, and security, from a single type of interface which uses a common methodology for interacting with the user. In general, such interfaces incorporate a display, typically a cathode ray tube (CRT) or liquid crystal display (LCD), which provides the user with several options for controlling one or more systems in the setting.
The widespread adoption and use of desktop computer systems has made computer implemented graphical user interfaces (GUIs) the most predominant type of automation system interface. In a typical implementation, various devices to be controlled are represented as icons on a display screen. Different attributes and functions of the various devices, such as, for example, turning a light fixture on or off or setting the temperature of a thermostat, can be controlled by graphically manipulating the corresponding icons using a keyboard or mouse.
One alternative to a desktop computer system involves the use of a dedicated menu driven display device coupled to a processor. For example, a touch screen can be utilized wherein the user presses a portion of the display screen to make a selection. The user's finger touch is detected and the display indicates which area of the display has been selected. Alternatively, conventional mechanical switches may be provided in proximity to the display screen. A graphical image on the display device directs the user to the appropriate push-button flanking the display. This approach is similar to that adopted in connection with many automated teller machines (ATMs).
The use of desktop computer systems or dedicated touch screen type displays in accordance with the prior art presents several problems. In the case of touch screens, touchscreen hardware is relatively expensive and requires a somewhat substantial computer system platform to implement the control functionality (e.g., processor and memory elements). In the case of desktop computer systems, the controller applications written for such computer systems tend to be complex. Controller applications are often dedicated pieces of software written for a specific operating system. Such controller applications are typically not portable among different types of machines (e.g., PC compatible computers, Macintosh computers, palmtop computers, etc.), and thus, control of the automation system depends upon having access to the desktop computer system. An additional drawback is the fact that in order to control the automation system, the desktop computer system needs to be powered up. Thus, in cases where remote access is desired, the desktop computer system needs to remain on in order to respond to remote commands from a user (e.g., via modem, etc.).
Thus, what is required is a solution that provides an easy to use and easy to understand interface for controlling an automation system. The required solution should be device independent with respect to different types of computer systems. The required solution should function with standardized home automation system architectures. In addition, the required solution should provide for easy remote access and control of the functions of the automation system. The present invention provides a novel solution to these requirements.